home *** CD-ROM | disk | FTP | other *** search
- #!/bin/bash
- set -e
-
- #
- # beagle-crawl-system
- #
- # Copyright (C) 2005 Novell, Inc.
- #
-
- #
- # Permission is hereby granted, free of charge, to any person obtaining a copy
- # of this software and associated documentation files (the "Software"), to deal
- # in the Software without restriction, including without limitation the rights
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- # copies of the Software, and to permit persons to whom the Software is
- # furnished to do so, subject to the following conditions:
- #
- # The above copyright notice and this permission notice shall be included in all
- # copies or substantial portions of the Software.
- #
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- # SOFTWARE.
- #
-
- if [ ! -x /usr/sbin/beagle-build-index ] ; then
- exit 0
- fi
-
- umask 022
-
- CRAWL_USER=beagleindex
-
- export TMPDIR=/tmp
-
- # Mono requires a writable wapi directory
- MONO_SHARED_DIR=`mktemp -d -p $TMPDIR .beagleindexwapi.XXXXXXXXXX`|| ( echo "Can't create wapi directory!" ; exit 1 )
- chown $CRAWL_USER $MONO_SHARED_DIR
-
- for crawl_file in /etc/beagle/crawl-*; do
- unset CRAWL_ENABLED CRAWL_DISABLE_FILTERING CRAWL_RECURSIVE CRAWL_CACHE_TEXT CRAWL_ALLOW_PATTERNS CRAWL_DENY_PATTERNS CRAWL_PATHS CRAWL_INDEX_NAME OPTIONS
-
- if [ -f $crawl_file ] ; then
- . $crawl_file
-
- if [ "$CRAWL_ENABLED" = "yes" ]; then
-
- if [ "$CRAWL_DISABLE_FILTERING" = "yes" ] ; then
- OPTIONS="$OPTIONS --disable-filtering"
- fi
-
- if [ "$CRAWL_DISABLE_DIRECTORIES" = "yes" ] ; then
- OPTIONS="$OPTIONS --disable-directories"
- fi
-
- if [ "$CRAWL_RECURSIVE" = "yes" ] ; then
- OPTIONS="$OPTIONS --recursive"
- fi
-
- if [ "$CRAWL_CACHE_TEXT" = "yes" ] ; then
- OPTIONS="$OPTIONS --enable-text-cache"
- fi
-
- if [ -n "$CRAWL_ALLOW_PATTERNS" ] ; then
- OPTIONS="$OPTIONS --allow-pattern $CRAWL_ALLOW_PATTERNS"
- fi
-
- if [ -n "$CRAWL_DENY_PATTERNS" ] ; then
- OPTIONS="$OPTIONS --deny-pattern $CRAWL_DENY_PATTERNS"
- fi
-
- if IONICE=`which ionice 2>/dev/null`; then
- IONICE="$IONICE -c 3"
- fi
-
- eval $IONICE su -s /bin/bash $CRAWL_USER -c \"MONO_SHARED_DIR=$MONO_SHARED_DIR /usr/sbin/beagle-build-index --target /var/cache/beagle/indexes/$CRAWL_INDEX_NAME $OPTIONS $CRAWL_PATHS\" > /dev/null 2>&1
- fi
- fi
- done
-
- # delete wapi directory
- rm -rf $MONO_SHARED_DIR
-
- exit 0
-